<?php
/**
 * Created by PhpStorm.
 * User: fei
 * Date: 2016/8/23
 * Time: 11:02
 */

namespace Admin\Controller;
use Component\AdminController;


class FarenController extends AdminController
{
    //增加产业活动单位表
    public function append()
    {


        if (IS_POST) {
            $model = M('faren');
            $data = $model->create();
            $res = $model->add();
            if ($res) {
                $info = $model->select();
                $this->assign("info", $info);
                $this->display("append");
                echo "<script type='text/javascript'>{alert('数据添加成功');}</script>";
                // echo "<script type='text/javascript'>alert('数据添加成功');history.back(-1);</script>";
            } else {
                echo "<script type='text/javascript'>alert('数据添加失败');history.back(-1);</script>";
            }
            return;
        }
        $this->display();
    }
    //根据用户的身份判断其所在公司，只显示其自己公司信息


    public function showlist0($mg_com){
        $model = M('faren');
        //  $sql = "select * from sw_manager where mg_id=".$_SESSION['mg_id'];

//        $sql = "select * from gq006 where gq006.QA04==".$_COOKIE['mg_com'];
        $sql = "select * from faren where faren.fr_1='$mg_com'";
//print_r($sql);
        $info = $model->query($sql);
        //print_r($info);

        $this -> assign('info', $info);
        $this -> display();
    }
    //企业填报人查询某一个法人单位情况表的全部信息
    function showlistall($mg_com){
        //$goods = D("Cominfo");
        $goods = D();

        //拼装sql语句获得每页信息
//        $sql = "select * from gq001,gq002,gq003,gq004,gq005 ,gq006 where gq001.GQ006_ID=$GQ006_ID and gq002.GQ006_ID=$GQ006_ID
//                and gq003.GQ006_ID=$GQ006_ID and gq004.GQ006_ID=$GQ006_ID and gq005.GQ006_ID=$GQ006_ID and gq006.GQ006_ID=$GQ006_ID";
//print_r($sql);
        $sql = "select * from faren where faren.fr_1='$mg_com'";
        $info = $goods -> query($sql);
        //print_r($info);
        $this -> assign('info', $info);
        $this -> display();

    }

    //查询角色，查询所有法人单位情况（采用分页形式）
    function showlist(){

        $model = D("faren");

        //1. 获得当前记录总条数
        $total = $model -> count();
        $per = 7;
        //2. 实例化分页类对象
        $page = new \Component\Page($total, $per); //autoload
        //3. 拼装sql语句获得每页信息
        $sql = "SELECT * FROM faren ".$page->limit;
        $info = $model -> query($sql);
        //4. 获得页码列表
        $pagelist = $page -> fpage();

        $this -> assign('info', $info);
        $this -> assign('pagelist', $pagelist);
        $this -> display();
    }
    //显示一条数据的所有信息
    public function showlist1($faren_ID){
        $model = M('faren');
        //  $sql = "select * from sw_manager where mg_id=".$_SESSION['mg_id'];

//        $sql = "select * from gq006 where gq006.QA04==".$_COOKIE['mg_com'];
        $sql = "select * from faren where faren.faren_ID='$faren_ID'";
//print_r($sql);
        $info = $model->query($sql);
        //print_r($info);

        $this -> assign('info', $info);
        $this -> display();
    }

    //从法人单位情况表中获得公司名称信息（以矩阵键值对形式显示）
    function getComInfo(){
        //查询全部用户的信息
        $rrinfo = D("faren")->select(); //二维数组信息
        //array(1=>'经理',2=>'主管',3=>'总监')
        $rinfo = array();
        foreach($rrinfo as $k => $v){
            $rinfo[$v['faren_ID']] = $v['fr_1'];//array(1=>'经理',2=>'主管')
        }
        return $rinfo;
    }

    //驳回法人单位情况表
    public function reject($faren_ID){
        $model = M('sw_manager');
        $rinfo = $this ->getComInfo();
        //根据公司名称找到对应管理员中的用户
        $sql = "select * from sw_manager where sw_manager.mg_com='$rinfo[$faren_ID]'";

//print_r($sql);
        $info = $model->query($sql);
        // print_r($info);
        $mg_id=$info[0]['mg_id'];
        //print_r($mg_id);
        //根据用户id去用户权限表中获得用户相应的权限
        $data = M('mgauth');
        $sql2 = "select * from mgauth where mgauth.mgauth_mg_id='$mg_id'";
        //print_r($sql2);
        $info2 = $data->query($sql2);
        //print_r($info2);
        $mgauth_auth_ids=$info2[0]['mgauth_auth_ids'];
        $mgauth_auth_ac=$info2[0]['mgauth_auth_ac'];
        //print_r($mgauth_auth_ids);
        // print_r($mgauth_auth_ac);
        //判断，若权限中有92（修改这个权限），则不用再添加，否则在权限中添加修改这个权限
        $arr = explode(",",$mgauth_auth_ids);
        //print_r($arr);
        $isin =in_array(92, $arr);
        // print_r($isin);
        if ($isin){
            echo "<script type='text/javascript'>alert('此公司已具备修改权限！');history.back(-1);</script>";
        }else{

            $mg_auth=$mgauth_auth_ids .',92';
            $mg_ac=$mgauth_auth_ac .',Faren-upd';

            //需要更新的数据
            $num['mgauth_auth_ids'] = $mg_auth;
            $num['mgauth_auth_ac'] = $mg_ac;
            //更新条件
            $condition['mgauth_mg_id'] = $mg_id;
            $result = $data->where($condition)->save($num);

            if($result===false){
                echo "<script type='text/javascript'>alert('驳回失败！');history.back(-1);</script>";
            }else{
                echo "<script type='text/javascript'>alert('驳回成功！');history.back(-1);</script>";
            }

        }

    }






    //企业填报人修改法人单位情况表基本情况

    function upd($faren_ID){
        //查询被修改商品的信息并传递给模板展示
        $model = D("faren");
        //两个逻辑：展示表单、收集表单
        if(IS_POST){
            $model -> create();
            $rst = $model -> save();
            if($rst){
                echo "<script type='text/javascript'>alert('数据修改成功');history.back(-1);</script>";;
            } else {
                echo "<script type='text/javascript'>alert('数据修改失败');history.back(-1);</script>";
            }
        } else {
            $info = $model->find($faren_ID); //一维数组
            //  print_r($info);
            $this -> assign('info', $info);
            $this -> display();
        }
    }
    //删除法人单位情况表
    function del($faren_ID)
    {
        //查询被修改商品的信息并传递给模板展示
        $model = D("faren");

        $res = $model->delete($faren_ID);

        if ($res) {
            //echo "<script type='text/javascript'>window.onload=function(){alert('数据删除成功');}</script>";
//            $info = $model->select();
//            $this->assign("info", $info);
//            $this->display("showlist");
            echo "<script type='text/javascript'>{alert('数据删除成功');history.back(-1);}</script>";
            //$this->showlist();
            //$this->success('删除成功');

        } else {
            echo "<script type='text/javascript'>alert('数据删除失败');history.back(-1);</script>";
        }
    }
    //导出产业单位情况表表格
    public function output()
    {
//获取所需数据
        $res = M('faren')->select();
        if (IS_POST) {
            $xlsName = "法人单位情况表";//表名
            $xlsCell = array(
                array('fr_1', '企业名称（fr_1）'),
                array('fr_2', '组织机构代码（fr_2）') ,
                array('fr_3', '报表类别(fr_3)') ,
                array('fr_4', '行业代码（fr_4）'),

                array('fr_5', '主要业务活动（fr_5）'),
                array('fr_6', '所在地区划代码(fr_6)'),
                array('fr_7', '城乡代码(fr_7)'),
                array('fr_8', '所在省(fr_8)'),
                array('fr_9', '所在市(fr_9)'),

                array('fr_10', '所在（区）县(fr_10)'),
                array('fr_11', '所在（乡）镇(fr_11)'),
                array('fr_12', '所在街（村、门牌号）(fr_12)'),
                array('fr_13', '街道办事处（fr_13）'),
                array('fr_14', '注册地区划代码(fr_14)'),

                array('fr_15', '城乡代码(fr_15)'),
                array('fr_16', '所在省(fr_16)'),
                array('fr_17', '所在市(fr_17)'),
                array('fr_18', '所在（区）县(fr_18)'),
                array('fr_19', '所在街（村、门牌号）(fr_19)'),

                array('fr_20', '从业人员期末数(fr_20)（人）'),
                array('fr_21', '其中女性数(fr_21)（人）'),
                array('fr_22', '营业收入(fr_22)（千元）'),
                array('fr_23', '其中:主营业务收入(fr_23)（千元）'),
                array('fr_24', '资产总计(fr_24)（千元）'),

                array('fr_25', '行业代码(fr_25)'),
                array('fr_26', '主要业务活动(fr_26)'),
                array('fr_27', '开业时间（fr_27）'),
                array('fr_28', '长途区号(fr_28)'),
                array('fr_29', '移动电话(fr_29)'),

                array('fr_30', ' 固定电话(fr_30)'),
                array('fr_31', '固话分机号(fr_31)'),
                array('fr_32', '传真号码(fr_32)'),
                array('fr_33', '传真分机号(fr_33)'),
                array('fr_34', ' 邮政编码(fr_34)'),

                array('fr_35', '电子邮箱(fr_35)'),
                array('fr_36', '工商行政管理部门(fr_36)'),
                array('fr_37', '编制部门(fr_37)'),
                array('fr_38', '民政部门(fr_38)'),
                array('fr_39', ' 国家税务部门(fr_39)'),

                array('fr_40', ' 地方税务部门(fr_40)'),
                array('fr_41', '其他部门(fr_41)'),
                array('fr_42', '单位负责人(fr_42)'),
                array('fr_43', '登记注册类型(fr_43)'),
                array('fr_44', ' 企业控股情况(fr_44)'),


                array('fr_45', '隶属关系(fr_45)'),
                array('fr_46', '营业状态(fr_46)') ,
                array('fr_47', '执行会计标准类别(fr_47)') ,
                array('fr_48', '是否执行2006《企业会计准则》（fr_48）'),

                array('fr_49', '机构类型(fr_49)'),
                array('fr_50', '单位规模(fr_50)'),
                array('fr_51', '总计(fr_51)（个）'),
                array('fr_52', '农林牧渔业(fr_52)（个）'),
                array('fr_53', '工业(fr_53)（个）'),

                array('fr_54', '建筑业(fr_54)（个）'),
                array('fr_55', '批发和零售业(fr_55)（个）'),
                array('fr_56', '住宿和餐饮业(fr_56)（个）'),
                array('fr_57', '房地产业(fr_57)（个）'),
                array('fr_58', '其他(fr_58)（个）'),

                array('fr_59', '企业集团情况(fr_59)'),
                array('fr_60', '上级法人单位组织机构代码(fr_60)'),
                array('fr_61', '是否从事能源商品批发和零售活动（fr_61）'),
                array('fr_62', '是否高新企业（fr_62）'),
                array('fr_63', '是否为工业新建投资产企业（fr_63）'),

                array('fr_64', '投产时间（fr_64）'),
                array('fr_65', '是否有能源产品生产（fr_65）'),
                array('fr_66', '建筑业企业资质等级(fr_66)'),
                array('fr_67', '房地产开发经营业企业资质等级(fr_67)'),
                array('fr_68', '批发和零售业企业经营形式(fr_68)'),

                array('fr_69', '批发和零售业年末零售营业面积(fr_69)（平方米）'),
                array('fr_70', '住宿和餐饮业企业经营形式(fr_70)'),
                array('fr_71', '住宿业企业星级评定情况(fr_71)'),
                array('fr_72', '住宿和餐饮业年末餐饮营业面积(fr_72)（平方米）'),
                array('fr_73', '统计负责人(fr_73)'),

                array('fr_74', ' 填表人(fr_74)'),
                array('fr_75', '企业负责人(fr_75)'),
                array('fr_76', '联系电话(fr_76)'),
                array('fr_77', '分机号(fr_77)'),
                array('fr_78', ' 手机号码(fr_78)'),

                array('fr_79', '报出日期（fr_79）'),




            );
            $xlsData = array();
            foreach ($res as $key => $val) {
                array_push($xlsData, array(//这里的需要导出的内容，要注意键名跟上面的字段键名要一致
                    // 'QA04' => $val[GQ006_ID],
                    'fr_1' => $val[fr_1],
                    'fr_2' => $val[fr_2],
                    'fr_3' => $val[fr_3],
                    'fr_4' => $val[fr_4],

                    'fr_5' => $val[fr_5],
                    'fr_6' => $val[fr_6],
                    'fr_7' => $val[fr_7],
                    'fr_8' => $val[fr_8],
                    'fr_9' => $val[fr_9],

                    'fr_10' => $val[fr_10],
                    'fr_11' => $val[fr_11],
                    'fr_12' => $val[fr_12],
                    'fr_13' => $val[fr_13],
                    'fr_14' => $val[fr_14],

                    'fr_15' => $val[fr_15],
                    'fr_16' => $val[fr_16],
                    'fr_17' => $val[fr_17],
                    'fr_18' => $val[fr_18],
                    'fr_19' => $val[fr_19],

                    'fr_20' => $val[fr_20],
                    'fr_21' => $val[fr_21],
                    'fr_22' => $val[fr_22],
                    'fr_23' => $val[fr_23],
                    'fr_24' => $val[fr_24],

                    'fr_25' => $val[fr_25],
                    'fr_26' => $val[fr_26],
                    'fr_27' => $val[fr_27],
                    'fr_28' => $val[fr_28],
                    'fr_29' => $val[fr_29],

                    'fr_30' => $val[fr_30],
                    'fr_31' => $val[fr_31],
                    'fr_32' => $val[fr_32],
                    'fr_33' => $val[fr_33],
                    'fr_34' => $val[fr_34],

                    'fr_35' => $val[fr_35],
                    'fr_36' => $val[fr_36],
                    'fr_37' => $val[fr_37],
                    'fr_38' => $val[fr_38],
                    'fr_39' => $val[fr_39],

                    'fr_40' => $val[fr_40],
                    'fr_41' => $val[fr_41],
                    'fr_42' => $val[fr_42],
                    'fr_43' => $val[fr_43],
                    'fr_44' => $val[fr_44],

                    'fr_45' => $val[fr_45],
                    'fr_46' => $val[fr_46],
                    'fr_47' => $val[fr_47],
                    'fr_48' => $val[fr_48],

                    'fr_49' => $val[fr_49],
                    'fr_50' => $val[fr_50],
                    'fr_51' => $val[fr_51],
                    'fr_52' => $val[fr_52],
                    'fr_53' => $val[fr_53],

                    'fr_54' => $val[fr_54],
                    'fr_55' => $val[fr_55],
                    'fr_56' => $val[fr_56],
                    'fr_57' => $val[fr_57],
                    'fr_58' => $val[fr_58],

                    'fr_59' => $val[fr_59],
                    'fr_60' => $val[fr_60],
                    'fr_61' => $val[fr_61],
                    'fr_62' => $val[fr_62],
                    'fr_63' => $val[fr_63],

                    'fr_64' => $val[fr_64],
                    'fr_65' => $val[fr_65],
                    'fr_66' => $val[fr_66],
                    'fr_67' => $val[fr_67],
                    'fr_68' => $val[fr_68],

                    'fr_69' => $val[fr_69],
                    'fr_70' => $val[fr_70],
                    'fr_71' => $val[fr_71],
                    'fr_72' => $val[fr_72],
                    'fr_73' => $val[fr_73],

                    'fr_74' => $val[fr_74],
                    'fr_75' => $val[fr_75],
                    'fr_76' => $val[fr_76],
                    'fr_77' => $val[fr_77],
                    'fr_78' => $val[fr_78],

                    'fr_79' => $val[fr_79],









                ));
            }

            exportExcel($xlsName, $xlsCell, $xlsData);//这里就是调用写在function里的函数了。
        }
        die();
    }

    


}